e5e87931d6aba539682282399038c548fac8eb4f,drools-compiler/src/main/java/org/drools/guvnor/server/util/ClassMethodInspector.java,ClassMethodInspector,isReasonableMethod,#Class#String#,57

Before Change


            }
        }

        if ( clazz.equals( Map.class ) || interfaces.contains( Map.class ) ) {
            if ( "get".equals( methodName ) || "isEmpty".equals( methodName ) || "containsKey".equals( methodName ) || "values".equals( methodName ) || "entrySet".equals( methodName ) || "containsValue".equals( methodName )
                 || "keySet".equals( methodName ) || "size".equals( methodName ) ) {
                return false;

After Change


     * @param methodName
     * @return
     */
    private boolean isReasonableMethod(Class< ? > clazz,
                                       String methodName) {
        if ( "hashCode".equals( methodName ) || "equals".equals( methodName ) ) {
            return false;
        }


        if ( Collection.class.isAssignableFrom( clazz ) ) {
            if ( checkCollectionMethods( methodName ) ) {
                return false;
            }
        }

        if ( Set.class.isAssignableFrom( clazz ) ) {
            if ( checkCollectionMethods( methodName ) ) {
                return false;
            }
        }

        if ( List.class.isAssignableFrom( clazz ) ) {

            if ( checkCollectionMethods( methodName ) || "listIterator".equals( methodName ) || "lastIndexOf".equals( methodName ) || "indexOf".equals( methodName ) || "subList".equals( methodName ) ) {
                return false;
            }
        }

        if ( Map.class.isAssignableFrom( clazz ) ) {
            if ( "get".equals( methodName ) || "isEmpty".equals( methodName ) || "containsKey".equals( methodName ) || "values".equals( methodName ) || "entrySet".equals( methodName ) || "containsValue".equals( methodName )
                 || "keySet".equals( methodName ) || "size".equals( methodName ) ) {
                return false;